[INFO] fetching crate lucid-kv-client 0.4.3...
[INFO] fixing lucid-kv-client-0.4.3 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate lucid-kv-client 0.4.3 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate lucid-kv-client 0.4.3
[INFO] finished tweaking crates.io crate lucid-kv-client 0.4.3
[INFO] tweaked toml for crates.io crate lucid-kv-client 0.4.3 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate lucid-kv-client 0.4.3 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 187 packages to latest compatible versions
[INFO] [stderr]       Adding bytes v0.5.6 (available: v1.12.0)
[INFO] [stderr]       Adding cfg-if v0.1.10 (available: v1.0.4)
[INFO] [stderr]       Adding flexbuffers v0.1.1 (available: v25.12.19)
[INFO] [stderr]       Adding futures-retry v0.5.0 (available: v0.6.0)
[INFO] [stderr]       Adding jsonwebtoken v7.2.0 (available: v10.4.0)
[INFO] [stderr]       Adding reqwest v0.10.10 (available: v0.13.4)
[INFO] [stderr]       Adding reqwest-eventsource v0.1.0 (available: v0.6.0)
[INFO] [stderr]       Adding tokio v0.2.25 (available: v1.52.3)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] efc0152db942f7124a74178476960d8d6cf25527bd1c390885bbacd5fad19649
[INFO] running `Command { std: "docker" "start" "efc0152db942f7124a74178476960d8d6cf25527bd1c390885bbacd5fad19649", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "efc0152db942f7124a74178476960d8d6cf25527bd1c390885bbacd5fad19649" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "efc0152db942f7124a74178476960d8d6cf25527bd1c390885bbacd5fad19649", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "efc0152db942f7124a74178476960d8d6cf25527bd1c390885bbacd5fad19649" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr] note: Switching to Edition 2021 will enable the use of the version 2 feature resolver in Cargo.
[INFO] [stderr] This may cause some dependencies to be built with fewer features enabled than previously.
[INFO] [stderr] More information about the resolver changes may be found at https://doc.rust-lang.org/nightly/edition-guide/rust-2021/default-cargo-resolver.html
[INFO] [stderr] When building the following dependencies, the given features will no longer be used:
[INFO] [stderr] 
[INFO] [stderr]   tokio v0.2.25 removed features: dns, fs, full, io-std, libc, macros, mio-named-pipes, mio-uds, net, num_cpus, process, rt-threaded, rt-util, signal, signal-hook-registry, tokio-macros, udp, uds, winapi
[INFO] [stderr] 
[INFO] [stderr] The following differences only apply when building with dev-dependencies:
[INFO] [stderr] 
[INFO] [stderr]   tokio v0.2.25 removed features: winapi
[INFO] [stderr] 
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.46
[INFO] [stderr]     Checking stable_deref_trait v1.2.1
[INFO] [stderr]     Checking log v0.4.33
[INFO] [stderr]     Checking slab v0.4.12
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]     Checking bytes v0.5.6
[INFO] [stderr]     Checking untrusted v0.7.1
[INFO] [stderr]     Checking itoa v1.0.18
[INFO] [stderr]     Checking spin v0.5.2
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking pin-project-lite v0.1.12
[INFO] [stderr]     Checking cfg-if v1.0.4
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]     Checking bytes v1.12.0
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]     Checking base64 v0.12.3
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]     Checking gimli v0.32.3
[INFO] [stderr]     Checking adler2 v2.0.1
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]     Checking http-body v0.3.1
[INFO] [stderr]     Checking net2 v0.2.39
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking mio v0.6.23
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking socket2 v0.3.19
[INFO] [stderr]    Compiling num-bigint v0.2.6
[INFO] [stderr]     Checking rustc-demangle v0.1.27
[INFO] [stderr]     Checking httpdate v0.3.2
[INFO] [stderr]    Compiling pin-project-internal v0.4.30
[INFO] [stderr]     Checking itoa v0.4.8
[INFO] [stderr]     Checking mio-uds v0.6.8
[INFO] [stderr]     Checking tower-service v0.3.3
[INFO] [stderr]     Checking base64 v0.13.1
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking iana-time-zone v0.1.65
[INFO] [stderr]     Checking ryu v1.0.23
[INFO] [stderr]     Checking chrono v0.4.45
[INFO] [stderr]     Checking webpki v0.21.4
[INFO] [stderr]     Checking sct v0.6.1
[INFO] [stderr]     Checking addr2line v0.25.1
[INFO] [stderr]     Checking webpki-roots v0.20.0
[INFO] [stderr]     Checking rustls v0.18.1
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking regex v1.12.4
[INFO] [stderr]     Checking ipnet v2.12.0
[INFO] [stderr]     Checking simple_asn1 v0.4.1
[INFO] [stderr]     Checking pem v0.8.3
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]     Checking backtrace v0.3.76
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling pin-project-internal v1.1.13
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio-macros v0.2.6
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking tokio v0.2.25
[INFO] [stderr]     Checking failure v0.1.8
[INFO] [stderr]     Checking pin-project v1.1.13
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]     Checking eventsource-stream v0.1.2
[INFO] [stderr]     Checking tracing-futures v0.2.5
[INFO] [stderr]     Checking yoke v0.8.3
[INFO] [stderr]    Compiling fehler-macros v1.0.0
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking fehler v1.0.0
[INFO] [stderr]     Checking pin-project v0.4.30
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking jsonwebtoken v7.2.0
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking tokio-util v0.3.1
[INFO] [stderr]     Checking tokio-rustls v0.14.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking futures-retry v0.5.0
[INFO] [stderr]     Checking h2 v0.2.7
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking hyper v0.13.10
[INFO] [stderr]     Checking hyper-rustls v0.21.0
[INFO] [stderr]     Checking reqwest v0.10.10
[INFO] [stderr]     Checking reqwest-eventsource v0.1.0
[INFO] [stderr]     Checking lucid-kv-client v0.4.3 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2018 edition to 2021
[INFO] [stderr]        Fixed src/lib.rs (1 fix)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 10s
[INFO] [stderr] crater-edition-check: lucid-kv-client v0.4.3 (/opt/rustwide/workdir) updating edition from 2018 to 2021
[INFO] [stderr]     Checking tokio v0.2.25
[INFO] [stderr]     Checking tokio-util v0.3.1
[INFO] [stderr]     Checking tokio-rustls v0.14.1
[INFO] [stderr]     Checking futures-retry v0.5.0
[INFO] [stderr]     Checking h2 v0.2.7
[INFO] [stderr]     Checking hyper v0.13.10
[INFO] [stderr]     Checking hyper-rustls v0.21.0
[INFO] [stderr]     Checking reqwest v0.10.10
[INFO] [stderr]     Checking reqwest-eventsource v0.1.0
[INFO] [stderr]     Checking lucid-kv-client v0.4.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/lib.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Fail, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Fail` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_Error`
[INFO] [stdout] 48 | pub enum Error {
[INFO] [stdout]    |          ----- `Error` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/lib.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Fail, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Display` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_Error`
[INFO] [stdout] 48 | pub enum Error {
[INFO] [stdout]    |          ----- `Error` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/lib.rs:76:10
[INFO] [stdout]    |
[INFO] [stdout] 76 | #[derive(Fail, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Fail` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_NotificationError`
[INFO] [stdout] 77 | pub enum NotificationError<E>
[INFO] [stdout]    |          ----------------- `NotificationError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/lib.rs:76:10
[INFO] [stdout]    |
[INFO] [stdout] 76 | #[derive(Fail, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Display` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_NotificationError`
[INFO] [stdout] 77 | pub enum NotificationError<E>
[INFO] [stdout]    |          ----------------- `NotificationError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/lib.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Fail, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Fail` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_Error`
[INFO] [stdout] 48 | pub enum Error {
[INFO] [stdout]    |          ----- `Error` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/lib.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Fail, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Display` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_Error`
[INFO] [stdout] 48 | pub enum Error {
[INFO] [stdout]    |          ----- `Error` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/lib.rs:76:10
[INFO] [stdout]    |
[INFO] [stdout] 76 | #[derive(Fail, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Fail` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_NotificationError`
[INFO] [stdout] 77 | pub enum NotificationError<E>
[INFO] [stdout]    |          ----------------- `NotificationError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/lib.rs:76:10
[INFO] [stdout]    |
[INFO] [stdout] 76 | #[derive(Fail, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Display` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_NotificationError`
[INFO] [stdout] 77 | pub enum NotificationError<E>
[INFO] [stdout]    |          ----------------- `NotificationError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 23s
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr] note: Switching to Edition 2021 will enable the use of the version 2 feature resolver in Cargo.
[INFO] [stderr] This may cause some dependencies to be built with fewer features enabled than previously.
[INFO] [stderr] More information about the resolver changes may be found at https://doc.rust-lang.org/nightly/edition-guide/rust-2021/default-cargo-resolver.html
[INFO] [stderr] When building the following dependencies, the given features will no longer be used:
[INFO] [stderr] 
[INFO] [stderr]   tokio v0.2.25 removed features: dns, fs, full, io-std, libc, macros, mio-named-pipes, mio-uds, net, num_cpus, process, rt-threaded, rt-util, signal, signal-hook-registry, tokio-macros, udp, uds, winapi
[INFO] [stderr] 
[INFO] [stderr] The following differences only apply when building with dev-dependencies:
[INFO] [stderr] 
[INFO] [stderr]   tokio v0.2.25 removed features: winapi
[INFO] [stderr] 
[INFO] [stderr]     Checking lucid-kv-client v0.4.3 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr] error: errors present after applying fixes to crate `lucid_kv_client`
[INFO] [stderr]  --> src/lib.rs
[INFO] [stderr]   = cause: error: custom attribute panicked
[INFO] [stderr]               --> src/lib.rs:377:5
[INFO] [stderr]                |
[INFO] [stderr]            377 |     #[throws]
[INFO] [stderr]                |     ^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: #[throws] attribute can only be applied to functions and methods
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/lib.rs:406:5
[INFO] [stderr]                |
[INFO] [stderr]            406 |     #[throws]
[INFO] [stderr]                |     ^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: #[throws] attribute can only be applied to functions and methods
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no method named `notifications_raw` found for struct `LucidClient` in the current scope
[INFO] [stderr]               --> src/lib.rs:823:14
[INFO] [stderr]                |
[INFO] [stderr]            134 |   pub struct LucidClient {
[INFO] [stderr]                |   ---------------------- method `notifications_raw` not found for this struct
[INFO] [stderr]            ...
[INFO] [stderr]            821 |           let mut stream = client
[INFO] [stderr]                |  __________________________-
[INFO] [stderr]            822 | |             .clone()
[INFO] [stderr]            823 | |             .notifications_raw(|err| RetryPolicy::ForwardError(err))
[INFO] [stderr]                | |             -^^^^^^^^^^^^^^^^^ method not found in `LucidClient`
[INFO] [stderr]                | |_____________|
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no method named `notifications` found for struct `LucidClient` in the current scope
[INFO] [stderr]               --> src/lib.rs:853:14
[INFO] [stderr]                |
[INFO] [stderr]            134 |   pub struct LucidClient {
[INFO] [stderr]                |   ---------------------- method `notifications` not found for this struct
[INFO] [stderr]            ...
[INFO] [stderr]            851 |           let mut stream = client
[INFO] [stderr]                |  __________________________-
[INFO] [stderr]            852 | |             .clone()
[INFO] [stderr]            853 | |             .notifications(|err| RetryPolicy::ForwardError(err))
[INFO] [stderr]                | |             -^^^^^^^^^^^^^ method not found in `LucidClient`
[INFO] [stderr]                | |_____________|
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 4 previous errors
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            For more information about this error, try `rustc --explain E0599`.
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/lib.rs:825:25
[INFO] [stdout]     |
[INFO] [stdout] 825 |         let (next, _) = tokio::join!(stream.next(), client.put_raw(key, "value2"));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-0.5.6/src/bytes.rs:489:1
[INFO] [stdout]     |
[INFO] [stdout] 489 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-0.5.6/src/bytes.rs:489:1
[INFO] [stdout]     |
[INFO] [stdout] 489 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::join` which comes from the expansion of the macro `tokio::join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/lib.rs:855:25
[INFO] [stdout]     |
[INFO] [stdout] 855 |         let (next, _) = tokio::join!(stream.next(), client.put(key, &test_value2));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-0.5.6/src/bytes.rs:489:1
[INFO] [stdout]     |
[INFO] [stdout] 489 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-0.5.6/src/bytes.rs:489:1
[INFO] [stdout]     |
[INFO] [stdout] 489 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `$crate::join` which comes from the expansion of the macro `tokio::join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Stream<Item = Result<Notification<bytes::Bytes>, NotificationError<E>>>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lib.rs:381:10
[INFO] [stdout]     |
[INFO] [stdout] 381 |     ) -> impl Stream<Item = Result<Notification<Bytes>, NotificationError<E>>>
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lib.rs:379:9
[INFO] [stdout]     |
[INFO] [stdout] 379 |         &self,
[INFO] [stdout]     |         ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 381 |     ) -> impl Stream<Item = Result<Notification<Bytes>, NotificationError<E>>> + use<F, E>
[INFO] [stdout]     |                                                                                +++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Stream<Item = Result<Notification<T>, NotificationError<E>>>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lib.rs:410:10
[INFO] [stdout]     |
[INFO] [stdout] 410 |     ) -> impl Stream<Item = Result<Notification<T>, NotificationError<E>>>
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lib.rs:408:9
[INFO] [stdout]     |
[INFO] [stdout] 408 |         &self,
[INFO] [stdout]     |         ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 410 |     ) -> impl Stream<Item = Result<Notification<T>, NotificationError<E>>> + use<F, T, E>
[INFO] [stdout]     |                                                                            ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Stream<Item = Result<Notification<bytes::Bytes>, NotificationError<E>>>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lib.rs:381:10
[INFO] [stdout]     |
[INFO] [stdout] 381 |     ) -> impl Stream<Item = Result<Notification<Bytes>, NotificationError<E>>>
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lib.rs:379:9
[INFO] [stdout]     |
[INFO] [stdout] 379 |         &self,
[INFO] [stdout]     |         ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 381 |     ) -> impl Stream<Item = Result<Notification<Bytes>, NotificationError<E>>> + use<F, E>
[INFO] [stdout]     |                                                                                +++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: errors present after applying fixes to crate `lucid_kv_client`
[INFO] [stdout] warning: `impl Stream<Item = Result<Notification<T>, NotificationError<E>>>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lib.rs:410:10
[INFO] [stdout]     |
[INFO] [stdout] 410 |     ) -> impl Stream<Item = Result<Notification<T>, NotificationError<E>>>
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lib.rs:408:9
[INFO] [stdout]     |
[INFO] [stdout] 408 |         &self,
[INFO] [stdout]     |         ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 410 |     ) -> impl Stream<Item = Result<Notification<T>, NotificationError<E>>> + use<F, T, E>
[INFO] [stdout]     |                                                                            ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]  --> src/lib.rs
[INFO] [stderr]   = cause: error: custom attribute panicked
[INFO] [stderr]               --> src/lib.rs:377:5
[INFO] [stderr]                |
[INFO] [stderr]            377 |     #[throws]
[INFO] [stderr]                |     ^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: #[throws] attribute can only be applied to functions and methods
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]               --> src/lib.rs:406:5
[INFO] [stderr]                |
[INFO] [stderr]            406 |     #[throws]
[INFO] [stderr]                |     ^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]                = help: message: #[throws] attribute can only be applied to functions and methods
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 2 previous errors
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 25s
[INFO] [stderr] crater-edition-check: lucid-kv-client v0.4.3 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking lucid-kv-client v0.4.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/lib.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Fail, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Fail` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_Error`
[INFO] [stdout] 48 | pub enum Error {
[INFO] [stdout]    |          ----- `Error` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/lib.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Fail, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Display` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_Error`
[INFO] [stdout] 48 | pub enum Error {
[INFO] [stdout]    |          ----- `Error` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/lib.rs:76:10
[INFO] [stdout]    |
[INFO] [stdout] 76 | #[derive(Fail, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Fail` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_NotificationError`
[INFO] [stdout] 77 | pub enum NotificationError<E>
[INFO] [stdout]    |          ----------------- `NotificationError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/lib.rs:76:10
[INFO] [stdout]    |
[INFO] [stdout] 76 | #[derive(Fail, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Display` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_NotificationError`
[INFO] [stdout] 77 | pub enum NotificationError<E>
[INFO] [stdout]    |          ----------------- `NotificationError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/lib.rs:821:26
[INFO] [stdout]     |
[INFO] [stdout] 821 |           let mut stream = client
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 822 | |             .clone()
[INFO] [stdout]     | |____________________^ creates a temporary value which is freed while still in use
[INFO] [stdout] 823 |               .notifications_raw(|err| RetryPolicy::ForwardError(err))
[INFO] [stdout] 824 |               .await?;
[INFO] [stdout]     |                      - temporary value is freed at the end of this statement
[INFO] [stdout] 825 |           let (next, _) = tokio::join!(stream.next(), client.put_raw(key, "value2"));
[INFO] [stdout]     |                                        ------ borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> src/lib.rs:821:26
[INFO] [stdout]     |
[INFO] [stdout] 821 |           let mut stream = client
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 822 | |             .clone()
[INFO] [stdout] 823 | |             .notifications_raw(|err| RetryPolicy::ForwardError(err))
[INFO] [stdout]     | |____________________________________________________________________^
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 381 |     ) -> impl Stream<Item = Result<Notification<Bytes>, NotificationError<E>>> + use<F, E>
[INFO] [stdout]     |                                                                                +++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/lib.rs:851:26
[INFO] [stdout]     |
[INFO] [stdout] 851 |           let mut stream = client
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 852 | |             .clone()
[INFO] [stdout]     | |____________________^ creates a temporary value which is freed while still in use
[INFO] [stdout] 853 |               .notifications(|err| RetryPolicy::ForwardError(err))
[INFO] [stdout] 854 |               .await?;
[INFO] [stdout]     |                      - temporary value is freed at the end of this statement
[INFO] [stdout] 855 |           let (next, _) = tokio::join!(stream.next(), client.put(key, &test_value2));
[INFO] [stdout]     |                                        ------ borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> src/lib.rs:851:26
[INFO] [stdout]     |
[INFO] [stdout] 851 |           let mut stream = client
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 852 | |             .clone()
[INFO] [stdout] 853 | |             .notifications(|err| RetryPolicy::ForwardError(err))
[INFO] [stdout]     | |________________________________________________________________^
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 410 |     ) -> impl Stream<Item = Result<Notification<T>, NotificationError<E>>> + use<F, T, E>
[INFO] [stdout]     |                                                                            ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0716`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `lucid-kv-client` (lib test) due to 2 previous errors
[INFO] running `Command { std: "docker" "inspect" "efc0152db942f7124a74178476960d8d6cf25527bd1c390885bbacd5fad19649", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "efc0152db942f7124a74178476960d8d6cf25527bd1c390885bbacd5fad19649", kill_on_drop: false }`
[INFO] [stdout] efc0152db942f7124a74178476960d8d6cf25527bd1c390885bbacd5fad19649
